package com.wjl.shop.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.stereotype.Component;

import java.util.Date;
import java.io.Serializable;

/**
 * 备货订单表(StockOrder)实体类
 *
 * @author makejava
 * @since 2021-10-06 12:29:50
 */
@Component
@Data
public class StockOrder implements Serializable {
    private static final long serialVersionUID = -60439149617837407L;
    /**
     * 自增序号
     */
    private Integer id;
    /**
     * 入货仓库地址编码
     */
    private String storageInCode;
    /**
     * 出货仓库地址编码
     */
    private String storageOutCode;
    /**
     * 提交备货计划日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date submitDate;
    /**
     * 订单编号
     */
    private String orderCode;
    /**
     * 经销商编码
     */
    private String dealerCode;
    /**
     * 备货需求起始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date requireDateFrom;
    /**
     * 备货需求结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date requireDateTo;
    /**
     * 产品编码
     */
    private String proCode;
    /**
     * 产品数量
     */
    private Integer proNum;
    /**
     * 订单金额
     */
    private Double orderPrice;
    /**
     * 总体积
     */
    private Double totalVolume;
    /**
     * 需缴纳备货保证金
     */
    private Double isPaid;
    /**
     * 状态码
     */
    private Integer stateCode;
    /**
     * 审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date viewTime;
    /**
     * 复审时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date reviewTime;
    /**
     * 审核人
     */
    private String viewUser;
    /**
     * 复审人
     */
    private String reviewUser;
    /**
     * 配送方式
     */
    private String sendWay;
    /**
     * 订单类型（0：备货需求  1：批发采购）
     */
    private Integer orderType;
    /**
     * 备注（default:  null）
     */
    private String remark;
    /**
     * 驳回原因
     */
    private String rejectReason;
    /**
     * 待缴保证金
     */
    private Double neededMoney;

    /**
     * 经销商名字
     */
    private String dealerName;
    /**
     * 区域
     */
    private String area;

    /**
     * 当前页码数
     * @return
     */
    private Integer page;

    /**
     * 每页显示的列表数
     * @return
     */
    private Integer rows;
    /**
     * 经销商编码集合
     */
    private String [] orderCodes;
    /**
     * 状态名
     * */
    private String statusName;
    public void setOrderCodes(String[] orderCodes) {
        this.orderCodes = orderCodes;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getStorageInCode() {
        return storageInCode;
    }

    public void setStorageInCode(String storageInCode) {
        this.storageInCode = storageInCode;
    }

    public String getStorageOutCode() {
        return storageOutCode;
    }

    public void setStorageOutCode(String storageOutCode) {
        this.storageOutCode = storageOutCode;
    }

    public Date getSubmitDate() {
        return submitDate;
    }

    public void setSubmitDate(Date submitDate) {
        this.submitDate = submitDate;
    }

    public String getOrderCode() {
        return orderCode;
    }

    public void setOrderCode(String orderCode) {
        this.orderCode = orderCode;
    }

    public String getDealerCode() {
        return dealerCode;
    }

    public void setDealerCode(String dealerCode) {
        this.dealerCode = dealerCode;
    }

    public Date getRequireDateFrom() {
        return requireDateFrom;
    }

    public void setRequireDateFrom(Date requireDateFrom) {
        this.requireDateFrom = requireDateFrom;
    }

    public Date getRequireDateTo() {
        return requireDateTo;
    }

    public void setRequireDateTo(Date requireDateTo) {
        this.requireDateTo = requireDateTo;
    }

    public String getProCode() {
        return proCode;
    }

    public void setProCode(String proCode) {
        this.proCode = proCode;
    }

    public Integer getProNum() {
        return proNum;
    }

    public void setProNum(Integer proNum) {
        this.proNum = proNum;
    }

    public Double getOrderPrice() {
        return orderPrice;
    }

    public void setOrderPrice(Double orderPrice) {
        this.orderPrice = orderPrice;
    }

    public Double getTotalVolume() {
        return totalVolume;
    }

    public void setTotalVolume(Double totalVolume) {
        this.totalVolume = totalVolume;
    }

    public Double getIsPaid() {
        return isPaid;
    }

    public void setIsPaid(Double isPaid) {
        this.isPaid = isPaid;
    }

    public Integer getStateCode() {
        return stateCode;
    }

    public void setStateCode(Integer stateCode) {
        this.stateCode = stateCode;
    }

    public Date getViewTime() {
        return viewTime;
    }

    public void setViewTime(Date viewTime) {
        this.viewTime = viewTime;
    }

    public Date getReviewTime() {
        return reviewTime;
    }

    public void setReviewTime(Date reviewTime) {
        this.reviewTime = reviewTime;
    }

    public String getViewUser() {
        return viewUser;
    }

    public void setViewUser(String viewUser) {
        this.viewUser = viewUser;
    }

    public String getReviewUser() {
        return reviewUser;
    }

    public void setReviewUser(String reviewUser) {
        this.reviewUser = reviewUser;
    }

    public String getSendWay() {
        return sendWay;
    }

    public void setSendWay(String sendWay) {
        this.sendWay = sendWay;
    }

    public Integer getOrderType() {
        return orderType;
    }

    public void setOrderType(Integer orderType) {
        this.orderType = orderType;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getRejectReason() {
        return rejectReason;
    }

    public void setRejectReason(String rejectReason) {
        this.rejectReason = rejectReason;
    }

    public Double getNeededMoney() {
        return neededMoney;
    }

    public void setNeededMoney(Double neededMoney) {
        this.neededMoney = neededMoney;
    }

}
